package com.dgy.user.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户登录方式信息对象 user_login_methods
 *
 * @author ccc
 * @date 2025-02-25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserLoginMethods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键，唯一标识每条记录 */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 登录方式的名称，如 'wechat'、'phone'、'email' 等，可根据需要扩展 */
    @Excel(name = "登录方式的名称，如 'wechat'、'phone'、'email' 等，可根据需要扩展")
    private String loginMethod;

    /** 该登录方式对应的唯一标识符，如微信的 openid、手机号、邮箱等 */
    @Excel(name = "该登录方式对应的唯一标识符，如微信的 openid、手机号、邮箱等")
    private String identifier;

    /** 绑定该登录方式的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "绑定该登录方式的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bindTime;

    /** 解绑该登录方式的时间，若未解绑则为 NULL */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "解绑该登录方式的时间，若未解绑则为 NULL", width = 30, dateFormat = "yyyy-MM-dd")
    private Date unbindTime;

    /** 该登录方式是否处于激活状态，1 表示激活，0 表示未激活 */
    @Excel(name = "该登录方式是否处于激活状态，1 表示激活，0 表示未激活")
    private Long isActive;
}
